package demo211217;

import java.util.List;

import java.util.stream.Stream;

public class J {
	//定义一个集合，得到他的stream，使用foreach遍历里面的每一个元素
	//使用map映射，将每一个元素映射成元素流(重点练一练集合，才能会用元素流)
	//这就是元素流
	
	
	//Stream对象流 元素流
	//类似使用sql从数据库查询数据直观方式
	
	//用来提供一种Java集合运算和表达的高阶方式
	
	//可以极大地提高程序开发的生产力，写出高效干净的简洁的代码
	//使用风格是将要处理的元素或集合看作是一种流的形式，流在管道中进行传输
	//并且可以在管道的节点上进行一些处理：如筛选、排序、聚合等
	
	//元素流stream在管道中经过的操作=中间操作+最终操作
	public void test1(List<Person> list) {
//		list.stream();
		Stream<Person> stream = list.stream();
		stream.filter(b -> b.getName().startsWith("王")).sorted((x,y)->x.getAge()-y.getAge());
		stream.mapToInt(Person::getAge);
//		int sum = intStream.sum();
		
//		System.out.println(sum);
	}//把集合转换成了对象流
	
}
class Person{
	private String name;
	private int age;
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
}
